<html>
<body>
Reports classes that override <code>equals()</code> but do not override <code>hashCode()</code>, or vice versa.
It also reports object declarations that override either <code>equals()</code> or <code>hashCode()</code>.
<p>This can lead to undesired behavior when a class is added to a <code>Collection</code></p>
<p><b>Example:</b></p>
<pre><code>
  class C1 {
      override fun equals(other: Any?) = true
  }

  class C2 {
      override fun hashCode() = 0
  }

  object O1 {
      override fun equals(other: Any?) = true
  }

  object O2 {
      override fun hashCode() = 0
  }
</code></pre>
<p>The quick-fix overrides <code>equals()</code> or <code>hashCode()</code> for classes and deletes these methods for objects:</p>
<pre><code>
   class C1 {
       override fun equals(other: Any?) = true
       override fun hashCode(): Int {
           return javaClass.hashCode()
       }
   }

   class C2 {
       override fun hashCode() = 0
       override fun equals(other: Any?): Boolean {
           if (this === other) return true
           if (javaClass != other?.javaClass) return false
           return true
       }
   }

   object O1 {
   }

   object O2 {
   }
</code></pre>
</body>
</html>
